package com.infore.airsupervise.biz;

import com.infore.airsupervise.bean.CompareE;
import com.infore.airsupervise.bean.PointAnalyzeE;
import com.infore.airsupervise.bean.PointQueryE;
import com.infore.airsupervise.bean.StationExpandE;
import com.infore.airsupervise.bean.StationTreeE;
import com.infore.airsupervise.http.BaseResponse;
import com.infore.airsupervise.http.OnServerResponseListener;

import java.util.List;

import retrofit2.Call;

/**
 * 统计业务接口
 * <p>
 * 作者: dingxinlin
 * 创建日期: 2017/3/29 17:33
 */

public interface StatisticsBiz {

    /**
     * 获取站点树
     * @return
     */
    Call<BaseResponse> getStationTree(OnServerResponseListener<List<StationTreeE>> listener);

    /**
     * 获取点位分析
     * @param type 监测类型
     * @param time 时间
     * @param mns mn号（多个以逗号隔开）
     * @param listener
     * @return
     */
    Call<BaseResponse> getPointAnalyze(
            int type, String time, String mns,
            OnServerResponseListener<List<PointAnalyzeE>> listener);

    /**
     * 点位分析查询
     * @param type
     * @param startTime
     * @param endTime
     * @param mns
     * @param listener
     * @return
     */
    Call<BaseResponse> getPointAnalyzeQuery(
            int type, String startTime, String endTime, String mns,
            OnServerResponseListener<List<PointQueryE>> listener);

    /**
     * 获取站点树
     * @return
     */
    Call<BaseResponse> sendStationTreeRequest(OnServerResponseListener<List<StationExpandE>> listener);

    /**
     * 获取热力分析的数据
     * @param mn
     * @param time
     * @param factorType
     * @param listener
     * @return
     */
    Call<BaseResponse>  sendHotAnalyzerequest(String mn,
                                              String time,
                                              int factorType ,
                                              OnServerResponseListener<List<PointAnalyzeE>> listener);

    Call<BaseResponse> sendConstractRequest(String time,
                                            String stationString,
                                            int dataType,
                                            OnServerResponseListener<List<CompareE>> listener);


}
